using MediatR;
using UniversalAdmin.Domain.Entities.App;
using UniversalAdmin.Domain.Common;

namespace UniversalAdmin.Domain.DomainEvents;

public class UserCreatedEvent : IDomainEvent, INotification
{
    public AppUser User { get; }
    public DateTime OccurredOn { get; }
    public UserCreatedEvent(AppUser user)
    {
        User = user;
        OccurredOn = DateTime.UtcNow;
    }
}
public class UserUpdatedEvent : IDomainEvent, INotification
{
    public AppUser User { get; }
    public DateTime OccurredOn { get; }
    public UserUpdatedEvent(AppUser user)
    {
        User = user;
        OccurredOn = DateTime.UtcNow;
    }
}
public class UserDeletedEvent : IDomainEvent, INotification
{
    public AppUser User { get; }
    public DateTime OccurredOn { get; }
    public UserDeletedEvent(AppUser user)
    {
        User = user;
        OccurredOn = DateTime.UtcNow;
    }
} 